package com.bloveoacom.weichi.contract;



import com.bloveoacom.http.HttpResult;
import com.bloveoacom.mvp.BaseListPresenter;
import com.bloveoacom.mvp.BasePresenter;
import com.bloveoacom.mvp.IListView;
import com.bloveoacom.mvp.IModel;
import com.bloveoacom.mvp.IView;
import com.bloveoacom.weichi.bean.ItemOptionBean;
import com.bloveoacom.weichi.bean.UserBean;

import java.util.List;

import io.reactivex.Flowable;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;

/**
 * author: zhu.px
 * e-mail: 1271901673@qq.com
 * time  : 2018/8/22
 * desc  : 我的
 */
public interface MineContract {

    //页面V
    interface View extends IListView {
            void getOps(List<ItemOptionBean> datas);
            //签到成功后的数据
            void setUserInfo(UserBean userInfo);
            //获取用户信息后的数据
            void userSignIn(Object o);
    }

    //数据M
    interface Model extends IModel {
        List<ItemOptionBean>  getOps();
        Flowable<HttpResult<UserBean>> getUserInfo();
        Flowable<HttpResult<Object>> userSignIn();
    }

    //交互P
    abstract class Presenter extends BaseListPresenter<View, Model> {
        public abstract void getUserInfo();
        public abstract void userSignIn(String token);
    }
}
